Providing useful information associated with an item in a document

ABSTRACT

A method includes recognizing an item within a first document based on a pattern associated with the item but not the exact content of the item. The method further includes identifying a link for the item and providing a second document that includes information associated with the item when the link for the item is selected.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims the benefit of priority under 35 U.S.C.§120 as a continuation from U.S. patent application Ser. No. 11/010,316entitled “PROVIDING USEFUL INFORMATION ASSOCIATED WITH AN ITEM IN ADOCUMENT,” filed on Dec. 14, 2004, the disclosure of which is herebyincorporated by reference in its entirety for all purposes.

BACKGROUND

Field of the Invention

Implementations relate generally to information retrieval and, moreparticularly, to the presentation of useful information associated withitems in documents.

Description of Related Art

Modern computer networks, and in particular, the Internet, have madelarge bodies of information widely and easily available. Internet searchengines, for instance, index many millions of web documents that arelinked to the Internet. A user connected to the Internet can enter asimple search query to quickly locate web documents relevant to thesearch query.

Sometimes a user desires more information about an item in a webdocument that the web document itself does not provide.

SUMMARY

According to one aspect, a computer-readable medium includescomputer-executable instructions, including instructions for obtaining afirst document; instructions for recognizing an item within the firstdocument based on a pattern associated with the item but not the exactcontent of the item; instructions for identifying a link for the item;and instructions for providing a second document that includesinformation associated with the item when the link for the item isselected.

According to another aspect, a method includes recognizing an item in afirst document; verifying recognition of the item by locating one ormore keywords within a predetermined distance of the item in the firstdocument; identifying a link for the item when recognition of the itemhas been verified; and providing a second document that includesinformation associated with the item when the link for the item isselected.

According to a further aspect, a computer-readable medium includescomputer-executable instructions, including instructions for recognizingan item in a first document and instructions for transmitting a portionof the first document, where the portion includes less than all of thefirst document. The computer-readable medium further includesinstructions for receiving identification of the item, instructions foridentifying a link for the item, and instructions for providing a seconddocument that includes information associated with the item when thelink for the item is selected.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate an embodiment of the inventionand, together with the description, explain the invention. In thedrawings,

FIG. 1 is an exemplary diagram illustrating a concept consistent withthe principles of the invention;

FIG. 2 is an exemplary diagram of a network in which systems and methodsconsistent with the principles of the invention may be implemented;

FIG. 3 is an exemplary diagram of a client or server of FIG. 2 accordingto an implementation consistent with the principles of the invention;

FIG. 4 is a diagram of a portion of an exemplary computer-readablemedium that may be used by a client according to an implementationconsistent with the principles of the invention;

FIG. 5 is an exemplary diagram of a graphical user interface that mayinclude a toolbar according to an implementation consistent with theprinciples of the invention;

FIGS. 6A-6C are flowcharts of exemplary processing for presenting usefulinformation relating to an item in a document according to animplementation consistent with the principles of the invention;

FIGS. 7-10 are exemplary diagrams of information that may be presentedto a user when an item corresponds to a tacking number; and

FIGS. 11-14 are exemplary diagrams of information that may be presentedto a user when an item corresponds to a postal address.

DETAILED DESCRIPTION

The following detailed description of the invention refers to theaccompanying drawings. The same reference numbers in different drawingsmay identify the same or similar elements. Also, the following detaileddescription does not limit the invention.

Overview

Systems and methods consistent with the principles of the invention mayprovide useful information associated with an item in a document. FIG. 1is an exemplary diagram illustrating a concept consistent with theprinciples of the invention. As shown at (A), a user may access adocument, such as a web page, using a web browser. The documentincludes, among other things, an item of information. As shown at (B),the item may be supplemented or replaced with a link (where theunderlining denotes a link). As shown at (C), selection of the link maycause another document to be presented to the user, where this otherdocument may include useful information associated with the item.

A “document,” as the term is used herein, is to be broadly interpretedto include any machine-readable and machine-storable work product. Adocument may include, for example, an e-mail, a web site, a file, acombination of files, one or more files with embedded links to otherfiles, a news group posting, a blog, a web advertisement, etc. In thecontext of the Internet, a common document is a web page. Web pagesoften include textual information and may include embedded information(such as meta information, images, hyperlinks, etc.) and/or embeddedinstructions (such as Javascript, etc.). A “link,” as the term is usedherein, is to be broadly interpreted to include any reference to/from adocument from/to another document or another part of the same document.

Exemplary Network Configuration

FIG. 2 is an exemplary diagram of a network 200 in which systems andmethods consistent with the principles of the invention may beimplemented. Network 200 may include multiple clients 210 connected tomultiple servers 220-240 via a network 250. Two clients 210 and threeservers 220-240 have been illustrated as connected to network 250 forsimplicity. In practice, there may be more or fewer clients and servers.Also, in some instances, a client may perform the functions of a serverand a server may perform the functions of a client.

Clients 210 may include client entities. An entity may be defined as adevice, such as a wireless telephone, a personal computer, a personaldigital assistant (PDA), a lap top, or another type of computation orcommunication device, a thread or process running on one of thesedevices, and/or an object executable by one of these devices. Servers220-240 may include server entities that gather, process, search, and/ormaintain documents in a manner consistent with the principles of theinvention.

In an implementation consistent with the principles of the invention,server 220 may include a search engine 225 usable by clients 210. Server220 may crawl a corpus of documents (e.g., web documents), index thedocuments, and store information associated with the documents in arepository of documents. Servers 230 and 240 may store or maintaindocuments that may be crawled or analyzed by server 120.

While servers 220-240 are shown as separate entities, it may be possiblefor one or more of servers 220-240 to perform one or more of thefunctions of another one or more of servers 220-240. For example, it maybe possible that two or more of servers 220-240 are implemented as asingle server. It may also be possible for a single one of servers220-240 to be implemented as two or more separate (and possiblydistributed) devices.

Network 250 may include a local area network (LAN), a wide area network(WAN), a telephone network, such as the Public Switched TelephoneNetwork (PSTN), an intranet, the Internet, a memory device, or acombination of networks. Clients 210 and servers 220-240 may connect tonetwork 250 via wired, wireless, and/or optical connections.

Exemplary Client/Server Architecture

FIG. 3 is an exemplary diagram of a client or server entity (hereinaftercalled “client/server entity”), which may correspond to one or more ofclients 210 and/or servers 220-240, according to an implementationconsistent with the principles of the invention. The client/serverentity may include a bus 310, a processor 320, a main memory 330, a readonly memory (ROM) 340, a storage device 350, an input device 360, anoutput device 370, and a communication interface 380. Bus 310 mayinclude a path that permits communication among the elements of theclient/server entity.

Processor 320 may include a conventional processor, microprocessor, orprocessing logic that interprets and executes instructions. Main memory330 may include a random access memory (RAM) or another type of dynamicstorage device that may store information and instructions for executionby processor 320. ROM 340 may include a conventional ROM device oranother type of static storage device that may store static informationand instructions for use by processor 320. Storage device 350 mayinclude a magnetic and/or optical recording medium and its correspondingdrive.

Input device 360 may include a conventional mechanism that permits anoperator to input information to the client/server entity, such as akeyboard, a mouse, a pen, voice recognition and/or biometric mechanisms,etc. Output device 370 may include a conventional mechanism that outputsinformation to the operator, including a display, a printer, a speaker,etc. Communication interface 380 may include any transceiver-likemechanism that enables the client/server entity to communicate withother devices and/or systems. For example, communication interface 380may include mechanisms for communicating with another device or systemvia a network, such as network 250.

As will be described in detail below, the client/server entity,consistent with the principles of the invention, may perform certaindocument processing-related operations. The client/server entity mayperform these operations in response to processor 320 executing softwareinstructions contained in a computer-readable medium, such as memory330. A computer-readable medium may be defined as a physical or logicalmemory device and/or carrier wave.

The software instructions may be read into memory 330 from anothercomputer-readable medium, such as data storage device 350, or fromanother device via communication interface 380. The softwareinstructions contained in memory 330 may cause processor 320 to performprocesses that will be described later. Alternatively, hardwiredcircuitry may be used in place of or in combination with softwareinstructions to implement processes consistent with the principles ofthe invention. Thus, implementations consistent with the principles ofthe invention are not limited to any specific combination of hardwarecircuitry and software.

Exemplary Computer-Readable Medium

FIG. 4 is a diagram of a portion of an exemplary computer-readablemedium 400 that may be used by a client 210 according to animplementation consistent with the principles of the invention. In oneimplementation, computer-readable medium 400 may correspond to memory330 of a client 210. The portion of computer-readable medium 400illustrated in FIG. 4 may include an operating system 410, browsersoftware 420, and toolbar software 430.

Operating system 410 may include conventional operating system software,such as the Windows, Unix, or Linux operating systems. Browser software420 may include software associated with a conventional web browser,such as the Microsoft Internet Explorer, Netscape Navigator, or MozillaFirefox browser.

Toolbar software 430 may include a plug-in, an applet, a dynamic linklibrary (DLL), or a similar executable object or process. Client 210 mayobtain the plug-in from server 220 or from a third party, such as athird party server, disk, tape, network, CD-ROM, etc. Alternatively, theplug-in may be pre-installed on client 210.

Toolbar software 430 may cause a toolbar, or another type of userinterface, to be implemented within a web browser window. The toolbarmay operate in conjunction with the web browser. In anotherimplementation, the toolbar is part of the web browser. In this latterimplementation, the web browser may perform the functions of thetoolbar. In yet another implementation, the toolbar is a processseparate from and running concurrently with the web browser. In thisother implementation, the toolbar may interface between the web browserand network 250.

Toolbar software 430 may be automatically activated upon initiation ofthe web browser. Alternatively, toolbar software 430 may be activatedwhen instructed by a user. In either case, the toolbar may take the formof a user interface that provides an extension to the web browser (e.g.,provides additional functionality not provided by the web browser).

FIG. 5 is an exemplary diagram of a graphical user interface 500 thatmay include a toolbar according to an implementation consistent with theprinciples of the invention. In this implementation, graphical userinterface 500 may correspond to a web browser window that currentlydisplays a document 510.

Graphical user interface 500 may include a toolbar 520 that may beimplemented by toolbar software 430 executed by a client 210. Toolbar520 may include one or more search boxes, software buttons, and/or menuelements selectable by a user to initiate different functions by toolbar520. In this case, a user may activate a function of toolbar 520 byentering information into a search box and/or selecting one of thesoftware buttons and/or menu elements. According to an implementationconsistent with the principles of the invention, one of the functionsperformed by toolbar 520 may include an autolink function thatsupplements items in a currently displayed document with usefulinformation associated with those items. The autolink function will bedescribed in more detail below.

Exemplary Processing

FIGS. 6A-6C are flowcharts of exemplary processing for presenting usefulinformation relating to an item in a document according to animplementation consistent with the principles of the invention.Processing may begin with a client 210 receiving a document (block 605)(FIG. 6A). In one implementation, a user uses a web browser associatedwith client 210 to locate a web document on a network, such as theInternet. The user may locate the document by entering an address (e.g.,a uniform resource locator (URL)) into an address box of the web browseror by performing a search based on a search query entered into a searchbox associated with a search engine (e.g., entering a search term intothe search box of toolbar 520 (FIG. 5)).

Toolbar 520 may strip the formatting from the document and analyze thecontents of the document to recognize item(s) of information in thedocument (blocks 610 and 615). An “item” may refer to any type ofinformation that may be identified based on pattern matching. Forexample, many types of information may differ in content, but match inthe general pattern of the characters they contain. Exemplary types ofinformation that may match in the general pattern of the characters theycontain may include postal addresses, telephone numbers, flightinformation, traffic information, product identification information,tracking numbers, document identification numbers (e.g., InternationalStandard Book Number (ISBN), International Standard Serial Number(ISSN), and Digital Object Identifier (DOI)), and vehicle identificationnumbers (VINs). Other types of information will be readily apparent tothose skilled in the art.

A postal address, for example, may contain information commonlyassociated with an address, such as a number (street or zip code), astreet name, a street type (road, street, lane, etc.), a city name, anda state name in relative close proximity to one another. Similarly,tracking numbers for a particular company may contain the same format.For example, the United Parcel Service (UPS) uses the following threeformats for its tracking numbers: 1Z 000 000 00 0000 000 0; 0000 00000000; and T000 0000 000. Therefore, these patterns of characters may beused to identify UPS tracking numbers. The other types of informationidentified above may contain their own patterns of characters.

Certain types of items are easy to recognize with high confidence and donot require much processing power or large sets of data. These types ofitems will hereafter be referred to as “client items.” Examples ofclient items might include tracking numbers, document identificationnumbers, and vehicle identification numbers. Other types of items arenot as easy to recognize with high confidence and require much moreprocessing power and/or large sets of data. These types of items willhereafter be referred to as “server items.” Examples of server itemsmight include postal addresses, telephone numbers, flight information,and product identification information.

For client items, toolbar 520 may perform pattern matching against apredetermined set of item patterns to recognize the items. For example,a vehicle identification number contains seventeen characters, includinga world manufacturer identifier section (three characters), a vehicledescriptor section (six characters), and a vehicle identifier section(eight characters). Each of the sections includes characters from aknown, limited, set of characters. Toolbar 520 may use this informationto recognize a vehicle identification number. Similarly, a documentidentification number, such as an ISBN, contains ten characters,including a country of origin or language code (one character), apublisher code (three characters), an item number (five characters), anda check digit (one character). The ISBN includes only numbers and thecheck digit provides a way to easily verify that a ten digit number isactually an ISBN. Toolbar 520 can recognize client items with highconfidence, but typically less than total confidence.

For server items, toolbar 520 may perform some basic pattern matching torecognize the items. For example, a postal address may containinformation typically associated with an address, such as a streetnumber, a street name, a street type (full or abbreviated), a city name,a state name (full or abbreviated), and a zip code. Toolbar 520 mayidentify one or more of these pieces of information and conclude thatthe item possibly corresponds to a postal address. Toolbar 520recognizes server items with lower confidence.

For a client item recognized by toolbar 520 (block 620), toolbar 520 mayverify the client item by locating keywords near the item (block 625)(FIG. 6B). “Near” may be defined as any number of characters, words, orterms to the left and/or right of an item. In one implementation, 64words/terms to the left and right of an item may be analyzed for thepresence of keywords.

For each type of client item, toolbar 520 may maintain a list ofkeywords that typically appear in a document near that type of clientitem. For example, possible keywords for a tracking number might include“ship,” “shipment,” “shipping,” “track,” “tracking,” “delivery,” and“package.” In one implementation, toolbar 520 may consider theappearance of a single one of the keywords near an item as verificationthat the item was correctly recognized. In another implementation,toolbar 520 may require the appearance of more than one keyword near anitem to verify that the item was correctly recognized. The appearance ofno keywords may be considered to be a false recognition and the itemmay, thereafter, be ignored.

Toolbar 520 may identify a link for the client item (block 630). Thelink may reference a server, such as server 220 (FIG. 2). The server mayhandle the reference by redirecting the reference to a document thatcontains useful information associated with the item. Alternatively, thelink may reference a document containing useful information directly.

Toolbar 520 may present the link to the user in several ways. Forexample, toolbar 520 may insert the link into the document, possiblyreplacing the item in the document with a link whose anchor text matchesthe characters of the item. In this case, the user might perceive nodifference in the contents of the document, but the item, in this case,would be underlined (or otherwise visually distinguished) to indicatethat the item corresponds to a link, as is well known in the art.Alternatively or additionally, toolbar 520 may notify the user of thelink via a button on the toolbar, a pop-up text block or window, and/ora drop-down list.

At some point, toolbar 520 may receive selection of the link (block635). For example, when the link takes the form of a link inserted intothe document, selecting the link may correspond to clicking on the link.When the link takes the form of a toolbar button or an element in apop-up text block or window or a drop-down list, selecting the link maycorrespond to clicking on the button or the element.

As explained above, the link may reference server 220. Therefore, inresponse to selection of the link, toolbar 520 may send a message toserver 220 (block 640). The message may include the client item andidentify the type of item that the client item is. Server 220 mayredirect to a document that includes useful information associated withthe item (block 645). Server 220 may store information that relatesdifferent types of items to documents that contain useful informationassociated with those items. For a vehicle identification number, forexample, server 220 may identify a document on a web site that providesinformation about specific vehicles, such as the CARFAX web site.Similarly, for a document identification number, server 220 may identifya document on a web site that provides information relating to the item,such as a web site associated with a publisher or an author of thedocument or a web site that sells a document identified by the item.

Server 220 may cause the identified document (i.e., the document withthe useful information) to be appropriately populated with the clientitem. For example, in the case of a vehicle identification number,server 220 may cause the appropriate field(s) of the document on theCARFAX web site to be populated with the vehicle identification number.Accordingly, the user may be presented with a document that containsuseful information associated with the item.

For a server item recognized by toolbar 520 (block 620) (FIG. 6A),toolbar 520 may send a portion of the document containing the item to aserver, such as server 220 (block 650) (FIG. 6C). The portion of thedocument sent to the server may be less than the entire document and mayinclude the item and any number of characters, words, or terms to theleft and/or right of the item. In one implementation, the portion of thedocument may include the item and 12 words/terms to the left and rightof the item. By sending only a portion of the document rather than theentire document, network traffic may be reduced.

Server 220 may analyze the portion of the document to recognize the item(block 655). Server 220 may perform known techniques, which may beprocessing-intensive or require large sets of data, to recognize theitem from the portion of the document it received from toolbar 520. Forexample, when the item corresponds to a full or partial postal address,server 220 may perform a known address recognition technique torecognize the postal address.

Server 220 may identify the recognized item to toolbar 520 (block 660).For example, server 220 may inform toolbar 520 of the part of thedocument that contains the recognized item. For example, server 220 mayidentify the full postal address to toolbar 520. Alternatively oradditionally, server 220 may mark the document portion to identify thestart and end of the recognized item.

Toolbar 520 may receive notification of the recognized item from server220 and identify a link for the server item (block 665). The link mayreference a server, such as server 220 (FIG. 2). The server may handlethe reference by redirecting the reference to a document that containsuseful information associated with the item. Alternatively, the link mayreference a document containing useful information directly.

As described above, toolbar 520 may present the link to the user inseveral ways. For example, toolbar 520 may insert the link into thedocument, possibly replacing the item in the document with a link whoseanchor text matches the characters of the item. In this case, the usermight perceive no difference in the contents of the document, but theitem, in this case, would be underlined (or otherwise visuallydistinguished) to indicate that the item corresponds to a link, as iswell known in the art. Alternatively or additionally, toolbar 520 maynotify the user of the link via a button on the toolbar, a pop-up textblock or window, and/or a drop-down list.

At some point, toolbar 520 may receive selection of the link (block670). For example, when the link takes the form of a link inserted intothe document, selecting the link may correspond to clicking on the link.When the link takes the form of a toolbar button or an element in apop-up text block or window or a drop-down list, selecting the link maycorrespond to clicking on the button or the element.

As explained above, the link may reference server 220. Therefore, inresponse to selection of the link, toolbar 520 may send a message toserver 220 (block 675). The message may include the server item andidentify the type of item that the server item is. Server 220 mayredirect to a document that includes useful information associated withthe item (block 680). Server 220 may store information that relatesdifferent types of items to documents that contain useful informationassociated with those items. For a postal address, for example, server220 may identify a document on a web site that provides a map of theaddress. Server 220 may cause the appropriate field(s) of the documentto be populated with the address so that map information associated withthe address may be obtained. Accordingly, the user may be presented witha document that contains useful information associated with the item.

Any or all of the autolink operations can be turned on or off or presetby the user. For example, the user may select to perform autolinkoperations only on client items or server items. Alternatively oradditionally, the user may select to only perform autolink operations onclient items and/or server items when the user indicates, such as byclicking on a button in toolbar 520. Alternatively or additionally, theuser may select to only add links to a document when the user indicates,such as by clicking on a button in toolbar 520.

Also if a document already contains a link associated with an item,toolbar 520, in one implementation, may leave the link alone. In thiscase, toolbar 520 may inform the user of the presence of the item in thedocument. Toolbar 520 may give the user the option of accessing adocument with useful information associated with the item using, forexample, a button on toolbar 520, a pop-up text block or window, and/ora drop-down list.

EXAMPLES

Tracking Number Example

FIGS. 7-10 are exemplary diagrams of information that may be presentedto a user when an item corresponds to a tacking number. As shown in FIG.7, the user has accessed a document associated with a company from whichit appears the user purchased something. The toolbar may strip theformatting from the document and analyze the contents of the document torecognize item(s) of information in the document.

The toolbar may perform pattern matching and identify two trackingnumbers: 1Z92A02E0235698326 and 123456789012 in the document. Assumethat the toolbar identifies the first tracking number (i.e.,1Z92A02E0235698326) as a UPS tracking number and the second trackingnumber (i.e., 123456789012) as a Federal Express (FedEx) trackingnumber.

As explained above, the toolbar may recognize these tracking numberswith high confidence, though less than total confidence. Therefore, thetoolbar may verify the tracking numbers by determining whether certainkeywords appear in the document near the tracking numbers. In this case,the toolbar may identify the keywords “track” and “package” near thetracking numbers.

In one implementation, the toolbar may change or add one or more buttonson the toolbar based on what types of items the toolbar recognizes inthe document. As shown in FIG. 8, the toolbar may replace the “autolink”button with a “track package” button 810 based on the toolbar'srecognition of one or more tracking numbers in the document. In analternate implementation, the toolbar may leave the autolink button andsimply add track package button 810. In yet another implementation, theautolink button may be used regardless of the type of item recognized inthe document (i.e., no button will be replaced or added). In this case,link information may be presented to the user via, for example, adrop-down list or a pop-up text block or window.

The toolbar may identify links for the tracking numbers. As shown inFIG. 8, the toolbar may insert links into the document. For example, theunderlining of the tracking numbers in FIG. 8 is intended to mean thatthe tracking numbers have been replaced with links whose anchor textmatches the characters of the tracking numbers. As further shown in FIG.8, the toolbar may identify and provide links to the tracking numbersvia a drop down list 820. Drop down list 820 may optionally label thefirst tracking number as a UPS tracking number and the second trackingnumber as a FedEx tracking number. Drop down list 820 may alsooptionally include an element for removing all autolinks (i.e., turningoff the autolink feature).

In one implementation, the user may select track package button 810 onthe toolbar to visually distinguish in some manner (e.g., highlight) thetracking numbers recognized in the document. Each selection of the trackpackage button 810 may cause a next tracking number, if any, to bevisually distinguished. As shown in FIG. 9, the FedEx tracking number isvisually distinguished. As also shown in FIG. 9, a pop-up text block orwindow 910 may be presented to the user.

Assume that the user selects the FedEx tracking number. The user mayselect the tracking number by selecting (e.g., clicking) the linkinserted into the document, the corresponding element in drop down list820, or pop-up text block or window 910. As explained above, selectionof an item may cause the toolbar to send a message identifying the itemand the item type to a server. In this case, the toolbar may send amessage to the server with the tracking number 123456789012 andidentifying the item as a FedEx tracking number. The server may redirectto a document on the FedEx web site and may optionally populate theappropriate fields in the document to obtain tracking informationassociated with the FedEx tracking number. The server may cause thetracking information to be sent to the toolbar.

As shown in FIG. 10, the toolbar may present to the user a document withuseful information associated with the FedEx tracking number. In thiscase, the document corresponds to a document on the FedEx web site thatcontains tracking information associated with the tracking number.

Postal Address Example

FIGS. 11-14 are exemplary diagrams of information that may be presentedto a user when an item corresponds to a postal address. As shown in FIG.11, the user has accessed a document associated with a company. Thetoolbar may strip the formatting from the document and analyze thecontents of the document to recognize item(s) of information in thedocument.

The toolbar may perform pattern matching and identify what appears to bea postal address. As explained above, the toolbar, in oneimplementation, may not have the requisite processing power and/or dataset(s) to appropriately recognize a server item, such as a postaladdress. Accordingly, the toolbar may perform some basic patternmatching to recognize information commonly associated with a postaladdress, such as a street number, a street name, a street type (full orabbreviated), a city name, a state name (full or abbreviated), and a zipcode. In this case, the toolbar may recognize “Pkwy” as an abbreviationof a street type, “Mountain View” as the name of a city, “CA” as anabbreviation of a state name, and “94043” as a number containing anappropriate number of characters to match a zip code.

The toolbar may send a portion of the document containing the possiblepostal address to a server. The portion of the document sent to theserver, in this case, may include everything in corporate address block1110. The server may perform known recognition techniques to recognizethe possible postal address it received from the toolbar. The server mayidentify the recognized postal address to the toolbar. For example, theserver may inform the toolbar that the postal address corresponds to“1600 Amphitheatre Pkwy, Mountain View, CA 94043.” Alternatively oradditionally, the server may indicate the start and end of the postaladdress in the document portion.

In one implementation, the toolbar may change or add one or more buttonson the toolbar based on what types of items the toolbar recognizes inthe document. As shown in FIG. 12, the toolbar may replace the“autolink” button with a “look for map” button 1210 based on thetoolbar's identification of one or more postal addresses in thedocument. In an alternate implementation, the toolbar may leave theautolink button and simply add look for map button 1210. In yet anotherimplementation, the autolink button may be used regardless of the typeof item recognized in the document (i.e., no button will be replaced oradded). In this case, link information may be presented to the user via,for example, a drop-down list or a pop-up text block or window.

The toolbar may identify a link for the postal address. As shown in FIG.12, the toolbar may insert a link into the document. For example, theunderlining of the postal address in FIG. 12 is intended to mean thatthe postal address has been replaced with a link whose anchor textmatches the characters of the postal address. As further shown in FIG.12, the toolbar may identify and provide a link to the postal addressvia a drop down list 1220. Drop down list 1220 may optionally include anelement for removing all autolinks (i.e., turning off the autolinkfeature).

In one implementation, the user may select look for map button 1210 onthe toolbar to visually distinguish in some manner (e.g., highlight) thepostal address(es) recognized in the document. Each selection of thelook for map button 1210 may cause a next postal address, if any, to bevisually distinguished. As shown in FIG. 13, the 1600 Amphitheatre Pkwyaddress is visually distinguished. As also shown in FIG. 13, a pop-uptext block or window 1310 may be presented to the user.

Assume that the user selects the 1600 Amphitheatre Pkwy address. Theuser may select the address by selecting (e.g., clicking) the linkinserted into the document, the corresponding element in drop down list1220, or pop-up text block or window 1310. As explained above, selectionof an item may cause the toolbar to send a message identifying the itemand the item type to a server. In this case, the toolbar may send amessage to the server with the postal address “1600 Amphitheatre Pkwy,Mountain View, CA 94043” and identifying the item as a postal address.The server may redirect to a document on a map provider web site and mayoptionally populate the appropriate fields in the document to obtain mapinformation associated with the postal address. The server may cause themap information to be sent to the toolbar.

As shown in FIG. 14, the toolbar may present the user with a documentwith useful information associated with the postal address. In thiscase, the document corresponds to a document on a map provider's website that contains map information associated with the postal address.

CONCLUSION

Systems and methods consistent with the principles of the invention mayprovide useful information associated with an item in a document.

The foregoing description of preferred embodiments of the presentinvention provides illustration and description, but is not intended tobe exhaustive or to limit the invention to the precise form disclosed.Modifications and variations are possible in light of the aboveteachings or may be acquired from practice of the invention.

For example, while series of acts have been described with regard toFIGS. 6A-6C, the order of the acts may be modified in otherimplementations consistent with the principles of the invention.Further, non-dependent acts may be performed in parallel.

Also, exemplary user interfaces have been described with respect toFIGS. 5 and 7-14. In other implementations consistent with theprinciples of the invention, the user interfaces may include more,fewer, or different pieces of information.

It will be apparent to one of ordinary skill in the art that aspects ofthe invention, as described above, may be implemented in many differentforms of software, firmware, and hardware in the implementationsillustrated in the figures. The actual software code or specializedcontrol hardware used to implement aspects consistent with theprinciples of the invention is not limiting of the invention. Thus, theoperation and behavior of the aspects were described without referenceto the specific software code—it being understood that one of ordinaryskill in the art would be able to design software and control hardwareto implement the aspects based on the description herein.

No element, act, or instruction used in the present application shouldbe construed as critical or essential to the invention unless explicitlydescribed as such. Also, as used herein, the article “a” is intended toinclude one or more items. Where only one item is intended, the term“one” or similar language is used. Further, the phrase “based on” isintended to mean “based, at least in part, on” unless explicitly statedotherwise.

What is claimed is:
 1. A method performed by a device, comprising: recognizing, by a processor of the device, an item in a first document currently displayed in a user interface on a display of the device, the item being recognized based on a pattern of characters associated with the item and not based on particular content of the characters associated with the item, wherein the pattern of characters includes at least one number; determining, based on the item, whether the item is one of a first type or a second type by at least: determining whether a type of the item is one of a plurality of types classified as being recognizable with a higher confidence than the second type using the processor of the device and data stored at the device; responsive to determining that the type of the item is one of the plurality of types classified as being recognizable with higher confidence than the second type using the processor of the device and data stored at the device, determining that the item is of the first type; and responsive to determining that the type of the item is not one of the plurality of types classified as being recognizable with higher confidence than the second type using the processor of the device and data stored at the device, determining that the item is of the second type; responsive to determining that the item is of the first type, verifying, by the processor of the device, recognition of the item in the first document by determining whether one or more non-formatting keywords from a list of keywords are located within a predetermined distance of the item in the first document; responsive to determining that the item is of the second type, sending a portion of the first document including the item to a server remote from the device to complete recognition of the item; after the recognition of the item is verified, identifying, by the processor of the device, a link for the item, the link identifying a second document that includes information associated with the item; and causing, by the processor of the device, the link identifying the second document that includes information associated with the item to be provided with the first document.
 2. The method of claim 1, wherein the first document comprises a web page and the user interface comprises a web browser application.
 3. The method of claim 1, wherein the link references a server unaffiliated with the second document.
 4. The method of claim 3, further comprising providing the second document in response to a selection of the link.
 5. The method of claim 4, wherein the providing the second document comprises: sending a message to the server in response to the selection of the link, wherein the message includes the item and identifies an item type associated with the item; and receiving, from the server, a redirection to the second document, wherein the server stores information that relates different types of items to documents that contain information associated with the items.
 6. The method of claim 1, further comprising: replacing the item in the first document with the link.
 7. The method of claim 1, wherein the item corresponds to a tracking number and the second document includes tracking information associated with the tracking number.
 8. The method of claim 1, wherein the item corresponds to a document identification number and the second document includes information associated with a publisher of a third document corresponding to the document identification number, an author of the third document, or a seller of the third document.
 9. The method of claim 1, wherein the item corresponds to a vehicle identification number and the second document includes information associated with a vehicle corresponding to the vehicle identification number.
 10. The method of claim 1, wherein the item is one of a postal address, a telephone number, flight information, traffic information, product identification information, a tracking number, a document identification number, or a vehicle identification number.
 11. A system comprising: a display device that displays a user interface; a memory comprising instructions; and a processor configured to execute the instructions to: recognize an item in a first document included in the user interface, the item being recognized based on a pattern of characters associated with the item and not based on particular content of the characters associated with the item, wherein the pattern of characters includes at least one number; determine, based on the item, whether the item is one of a first type or a second type by at least being configured to execute the instructions to: determine whether a type of the item is one of a plurality of types classified as being recognizable with a higher confidence than the second type using the processor of the device and data stored at the device; responsive to determining that the type of the item is one of the plurality of types classified as being recognizable with higher confidence than the second type using the processor of the device and data stored at the device, determine that the item is of the first type; and responsive to determining that the type of the item is not one of the plurality of types classified as being recognizable with higher confidence than the second type using the processor of the device and data stored at the device, determine that the item is of the second type; responsive to determining that the item is of the first type, verify recognition of the item in the first document by determining whether one or more non-formatting keywords from a list of keywords are located within a predetermined distance of the item in the first document; responsive to determining that the item is of the second type, send a portion of the first document including the item to a server remote from the device to complete recognition of the item; after the recognition of the item is verified, identify a link for the item when the recognition of the item is verified by the processor or completed by the server, the link identifying a second document that includes information associated with the item; replace the item with the link identifying the second document that includes information associated with the item when providing the first document for display; and provide the second document for display in the user interface in response to a selection of the link.
 12. The system of claim 11, wherein the first document comprises a web page and the user interface comprises a web browser application.
 13. The system of claim 11, wherein the link references a server unaffiliated with the second document, the server storing information that relates different types of items to documents that contain information associated with the items.
 14. The system of claim 13, wherein the processor is configured to execute the instructions to provide the second document by being configured to execute the instructions to at least: send a message to the server in response to the selection of the link; and receive, from the server, a redirection to the second document.
 15. The system of claim 14, wherein the message includes the item and identifies an item type associated with the item.
 16. The system of claim 11, wherein the item corresponds to a tracking number and the second document includes tracking information associated with the tracking number.
 17. The system of claim 11, wherein the item corresponds to a document identification number and the second document includes information associated with a publisher of a third document corresponding to the document identification number, an author of the third document, or a seller of the third document.
 18. The system of claim 11, wherein the item corresponds to a vehicle identification number and the second document includes information associated with a vehicle corresponding to the vehicle identification number.
 19. A non-transitory computer-readable memory device that includes computer-executable instructions that, when executed, cause a processor of a device to: recognize an item in a first document currently displayed in a user interface on a display of the device, the item being recognized based on a pattern of characters associated with the item and not based on particular content of the characters associated with the item, wherein the pattern of characters includes at least one number; determine, based on the item, whether the item is one of a first type or a second type by at least causing the processor of the device to: determine whether a type of the item is one of a plurality of types classified as being recognizable with a higher confidence than the second type using the processor of the device and data stored at the device; responsive to determining that the type of the item is one of the plurality of types classified as being recognizable with higher confidence than the second type using the processor of the device and data stored at the device, determine that the item is of the first type; and responsive to determining that the type of the item is not one of the plurality of types classified as being recognizable with higher confidence than the second type using the processor of the device and data stored at the device, determine that the item is of the second type; responsive to determining that the item is of the first type, verify recognition of the item in the first document by determining whether one or more non-formatting keywords from a list of keywords terms are located within a predetermined distance of the item in the first document; responsive to determining that the item is of the second type, send a portion of the first document including the first item to a server remote from the device to complete recognition of the item; after the recognition of the item is verified, identify a link for the item when the recognition of the item is verified or completed by the server, the link identifying a second document that includes information associated with the item; replace the item with the link identifying the second document that includes information associated with the item when providing the first document for display; and provide the second document for display in the user interface in response to a selection of the link. 